package cn.basic.social.api.dingtalk.client;

import cn.basic.social.api.dingtalk.DingRequest;
import cn.basic.social.api.dingtalk.DingResponse;
import cn.basic.social.api.exception.ApiException;

/**
 * @ClassName BaseDingTalkClient
 * @Description 钉钉客户端接口
 * @Author zlf
 * @Date 2023/8/25 10:36
 */
public interface BaseDingTalkClient extends BaseDingClient {

    /**
     * 执行API请求
     *
     * @param <T>         具体的API响应类
     * @param request     具体的API请求类
     * @param accessToken 调用服务端接口的授权凭证
     * @return
     * @author zlf
     * @date 10:33 2023/8/25
     */
    public <T extends DingResponse> T doExecute(DingRequest<T> request, String accessToken) throws ApiException;

}
